Analysis of Boolean Programs
نویسندگان
چکیده
Boolean programs are a popular abstract domain for static-analysisbased software model checking. Yet little is known about the complexity of model checking for this model of computation. This paper aims to fill this void by providing a comprehensive study of the worst-case complexity of several basic analyses of Boolean programs, including reachability analysis, cycle detection, LTL, CTL, and CTL* model checking. We present algorithms for these problems and show that our algorithms are all optimal by providing matching lower bounds. We also identify particular classes of Boolean programs which are easier to analyse, and compare our results to prior work on pushdown model checking.
منابع مشابه
On-the-fly Parameterized Boolean Program Exploration
Reachability analysis for replicated Boolean programs run by an unbounded number of threads is decidable in principle via a reduction of the Boolean program families to well-structured transition systems (WSTS). The obtained transition systems would, however, in general be intractably large, due to local state explosion. Basler et al. give an on-the-fly algorithm that solves this problem for Bo...
متن کاملVerification of Boolean programs with unbounded thread creation
Most symbolic software model checkers use abstraction techniques to reduce the verification of infinite-state programs to that of decidable classes. Boolean programs [T. Ball, S.K. Rajamani, Bebop: A symbolic model checker for Boolean programs, in: SPIN 00, in: Lecture Notes in Computer Science, vol. 1885, Springer, 2000, pp. 113–130] are the most popular representation for these abstractions. ...
متن کاملExtending Abstract Acceleration Methods to Data - Flow Programs with Numerical Inputs 1
Acceleration methods are commonly used for computing precisely the effects of loops in the reachability analysis of counter machine models. Applying these methods on synchronous data-flow programs with Boolean and numerical variables, e.g. Lustre programs, firstly requires the enumeration of the Boolean states in order to obtain a control graph with numerical variables only. Secondly, accelerat...
متن کاملUsing the Karp-Miller Tree Construction to Analyse Concurrent Finite-State Programs
The formal analysis of multi-threaded programs is among the grand challenges of software verification research. In this dissertation, we consider non-recursive multi-threaded Boolean programs, the principal ingredient in predicate abstraction. We introduced a exact and complete solution for thread-state reachability analysis of concurrent Boolean programs with unbounded thread creation. We pres...
متن کاملModel Checking Boolean Programs
The reliability of software is crucial to the functioning of today’s world, which heavily depends on computer systems. Given the ever increasing complexity of software, bugs are subtle and thus hard to find with manual inspection. A more promising approach is to use a formal method such as model checking, which employs exhaustive state-space search to ensure the correctness of the software. How...
متن کامل